The present invention relates to method of network communication and more particularly to a method for out-of-band communication on a SCSI network.
Conventional SCSI buses perform network communication over a 50, 68 or 80 conductor cable. The present disclosure is directed to a discussion of the 68-conductor cable implementation of a SCSI network. The principles and teachings of the present invention, however, may be applied to other cables and other networks. The SCSI Parallel Interface 2 (xe2x80x9cSPI-2xe2x80x9d) standard description for a 68-conductor cable implements a 16-bit data bus width. A segment of the network is defined as having at least one initiator or one target and two terminators at either end of the segment. Multiple segments may be used to make up the network. Expander devices are used to connect two segments together. Typical networks utilize 2-5 expanders. Each SCSI device on the network has a unique address identifier and a corresponding SCSI bit so that each device is individually addressable for specific I/O operations. In order to maximize the number of addressable devices on a segment, certain devices are not addressable and are considered xe2x80x9ctransparentxe2x80x9d devices. An expander is an example of a xe2x80x9ctransparentxe2x80x9d device and operates to pass network information from one segment to another. The expander, therefore, operates to both send and receive data without being a source or final destination of the data. A terminator is another example of a xe2x80x9ctransparentxe2x80x9d device. Terminators maintain proper bus signal integrity by maintaining appropriate terminating impedances, but are neither an initiator nor a target of data in an I/O operation.
Two types of communication modes are helpful on the SCSI bus. In-band operation is defined as network communication between initiators and targets as necessary for I/O operations that are typical of computer network operation. Out-of-band operation is defined as the network communication used for service purposes where a system administrator may want to modify certain network characteristics in order to maintain communication reliability for in-band operations. As an example, the system administrator of a network may want to modify impedance levels, adjust voltage levels, or timing on one or more segments. It is desirable to be able to perform these tasks on both the addressable and xe2x80x9ctransparentxe2x80x9d devices. One solution is to organize the network so that all SCSI devices, including the xe2x80x9ctransparentxe2x80x9d SCSI devices, have an address and a corresponding SCSI identification bit. It is, however, undesirable to assign the transparent SCSI devices a SCSI identification bit because the assignment of the SCSI identification bit displaces one of the possible 16 devices that can otherwise populate a SCSI network. The transparent device that is using the SCSI bit uses it only for purposes of out-of-band operation rendering use of the addressing bit inefficient.
The SCSI standard and networks have enjoyed a certain amount of popularity. Accordingly, there is a large number of existing SCSI devices in use that are not able to support network functionality that is defined after the device is fielded. As many of the fielded SCSI devices, sometimes termed xe2x80x9clegacy devicesxe2x80x9d, have not reached the end of their useful life, it is important for network operations to be able to accommodate the presence of the legacy devices. Accommodation of a legacy device means that the legacy device is able to populate a network without responding to network operations that the legacy device does not support. This is important in order to assure that the oldest legacy device does not define the network functionality, but rather to permit increased functionality while assuring robust network operations.
A known solution to administration of SCSI addresses is the SCSI Configured Automatically (xe2x80x9cSCAMxe2x80x9d) protocol. The SCAM protocol is defined to ease user problems with the configuration of SCSI identification addresses on an SCSI bus. The SCAM protocol calls for an initiator to isolate one or more SCAM tolerant targets to which it dynamically assigns an address. Disadvantageously, the SCAM protocol may not support all legacy devices. The SCAM protocol manipulates certain ones of the SCSI control lines giving rise to the possibility that a SCSI device that does not support the SCAM protocol will respond inappropriately to the SCAM process and compromise the operation of the network.
There is a need, therefore, for a method of network communication to permit individual addressing of devices that are otherwise xe2x80x9ctransparentxe2x80x9d during in-band operation while minimizing the possibility of inappropriate response by SCSI devices that do not support the out-of-band operation.
According to one aspect of an embodiment according to the teachings of the present invention, a method for communication between a host and one or more targets on a network comprises the steps of communicating between the host device and the one or more target devices on a bus in an in-band communications mode. The in-band communications mode operates according to a predefined standard, the standard defining the bus as having data lines and signaling lines. The method further comprises the steps of initiating an out-of-band communications mode and utilizing the data lines for the out-of-band communication mode. In the out-of-band communications mode, one or more of the data lines is assigned a signaling function. The method further comprises returning to the in-band communications mode.
According to another aspect of an embodiment according to the teachings of the present invention, a network comprises at least one initiator and at least one target communicating via a SCSI bus. The SCSI bus has a predefined busy line, a is predefined select line and a plurality of predefined data lines. The method for communicating comprises the steps of winning arbitration of the bus using the busy line and the select line and selecting one or more targets to receive a command. The method further comprises sending the command to the one or more selected targets, the steps of selecting and sending manipulating no more than the predefined data lines. The method further comprises the steps of releasing control of the bus.
According to another aspect of an embodiment according to the teachings of the present invention, a method for communicating on a network comprises the steps of utilizing a network communications standard for in-band communications. The method further comprises the steps of remapping data lines as defined in the standard to a different set of functions and utilizing the remapped data lines for an out-of-band communications mode. Thereafter, the method comprises the step of restoring the bus to in-band communications.
One of the advantages of a method according to the teachings of the present invention is that all devices on a SCSI network may be individually addressed for purposes of out-of-band operations. Devices on the SCSI network, such as expanders and terminators, that are not addressable during in-band operations, are uniquely addressable during out-of-band operations. Advantageously, the out-of-band operations do not stimulate the SCSI signaling lines. The benefit of the failure to stimulate the SCSI bus control lines is avoidance of a spurious response from a SCSI device that does not support out-of-band operation. Those devices on the network that do not support the out-of-band operations are left undisturbed until in-band operation resumes. Accordingly, a method according to the teachings of the present invention accommodates legacy devices by assuring non-responsiveness from those devices not supporting out-of-band operations while also providing the increased functionality for those devices on the network that do support out-of-band operations.